Kick2 : SimpleSynthDescriptor{
	

	createGuiControls{	
		this.put(\lowDecay, c.new(default: 2, max: 5, min: 0.0001) );
		this.put(\lowPitch, c.new(default: 80, max: 350, min: 30) );
		
		
		this.put(\highPitch, 		c.new(default: 250, min:30, max: 600,  midiNum:17) );
		this.put(\highDecay, 		c.new(default: 0.01, min:0.001, max: 3,  theLog:2) );
		this.put(\highfloor, 		c.new(default: 60, min:30, max: 120,  midiNum:17) );
		
		this.put(\clickLevel, c.new(default: 2 max: 4, min: 0) );
		
		
		this.put(\attack, 			c.new(default: 0.01, min: 0.01, max: 0.5,  midiNum:16) );
		this.put(\sustain, 		c.new(default: 0.2, min:0.001, max: 1,  midiNum:17) );
		this.put(\decay, 			c.new(default: 0.5,min: 0.001, max: 5,  midiNum:18));
		
		
		
	}
	
	*loadSynth{
	
		
		SynthDef(
					

			this.getSynthName,
			{
				arg 
				busNum,
				highDecay = 0.01,
				lowDecay = 2,
				lowPitch = 80,
				highPitch = 250,
				highfloor = 60,
				clickLevel = 2
				
				;
				
				
				var sig=0, swell, swellFM, click;
				
				
				lowPitch = lowPitch * EnvGen.kr(Env.perc(0,lowDecay, 1, 0));
				sig = sig + SinOsc.ar(lowPitch);
				
				highPitch = highPitch * EnvGen.kr(Env.perc(0, highDecay, 1, 0));
				sig = sig + SinOsc.ar(highPitch + highfloor) ;
				
				click = SinOsc.ar(EnvGen.kr(Env.perc(0, 0.01, 5000, 0)) + 3000);
				click = click * EnvGen.kr(Env.perc(0, 0.01, 1, 0));
				click = click * clickLevel;
				sig = sig + click;
				
			

				  
				Out.ar(busNum, 
					[sig,sig]
				);
			}
			
		).load(Server.default);
	
	}

}


	